/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package domain;

import java.io.Serializable;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;

/**
 *
 * @author Evgeny
 */
@Entity
public class AcademicSet implements Serializable {
        private static final long serialVersionUID = 1L;
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        private Long id;
        private String name;
        @ManyToOne
        private AccUser accUserOwner;

        
        
              @OneToMany
        private Set<Reference> referencess;

    public AcademicSet() {
    }

        public AcademicSet(String name) {
                this.name = name;
        }

        public Long getId() {
                return id;
        }

        

        

        public void setId(Long id) {
                this.id = id;
        }
        
        public void addReference(Reference ref) {
                this.referencess.add(ref);
        }

        public String getName() {
                return name;
        }

        public void setName(String name) {
                this.name = name;
        }

        public Set<Reference> getReferencess() {
                return referencess;
        }

        public void setReferencess(Set<Reference> referencess) {
                this.referencess = referencess;
        }
        
        public void removeReference(int id)
        {
                for (Reference aa:referencess)
            {
                if (aa.getId()==id)
                {
                    referencess.remove(aa);
                    break;
                }
            }
        }

        public AccUser getAccUserOwner() {
                return accUserOwner;
        }

        public void setAccUserOwner(AccUser accUserOwner) {
                this.accUserOwner = accUserOwner;
        }
        
        @Override
        public int hashCode() {
                int hash = 0;
                hash += (id != null ? id.hashCode() : 0);
                return hash;
        }

        @Override
        public boolean equals(Object object) {
                // TODO: Warning - this method won't work in the case the id fields are not set
                if (!(object instanceof AcademicSet)) {
                        return false;
                }
                AcademicSet other = (AcademicSet) object;
                if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
                        return false;
                }
                return true;
        }

        @Override
        public String toString() {
                return "domain.AcademicSet[ id=" + id + " ]";
        }
        
}
